﻿using ApplicationModels.A04.Interactions;
using Commons.Responses;
using EntityModels.E04.Interactions;

namespace IApplicationServices
{
    public interface ICommentService:IBaseApplicationService<int,Comment,CommentAM>
    {
        /// <summary>
        /// 获取评论的回复
        /// </summary>
        /// <param name="commentId"></param>
        /// <returns></returns>
        Task<CommentAM> GetCommentByIdAsync(int commentId);
        /// <summary>
        /// 获取作品评论以及评论的回复
        /// </summary>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <param name="photographId"></param>
        /// <returns></returns>
        Task<DatasResponse<CommentAM>> GetCommentsByPhotographIdAsync(int pageIndex, int pageSize, string photographId);

        /// <summary>
        /// 点赞
        /// </summary>
        /// <param name="commentId"></param>
        /// <returns></returns>
        Task<MessageResponse> IncreaseLikeAsync(int commentId);
        /// <summary>
        /// 取消点赞
        /// </summary>
        /// <param name="commentId"></param>
        /// <returns></returns>
        Task<MessageResponse> ReduceLikeAsync(int commentId);

    }

}
